package cn.tedu._03mvcboot01.controller;

import cn.tedu._03mvcboot01.pojo.dto.UserLoginDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * Controller:将此类标识为控制器的类
 */
@Controller
public class UserController {
    /*
        1.RequestMapping注解:匹配URL地址访问资源的路径;
          地址中的第一个 / 可以加,也可以不加
        2.ResponseBody注解:允许控制器方法以返回值的方式返回给客户端数据.
        http://localhost:8080/v1/users/login?username=xxx&password=xxx
     */
    //接收数据的方式1:通过HttpServletRequest接收
    /*
    @RequestMapping("v1/users/login")
    @ResponseBody
    public String login(HttpServletRequest request){
        //接收客户端传递的数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        return username + ":" + password;
    }
     */

    //接收数据的方式2:通过声明参数的方式
    /*
    @RequestMapping("v1/users/login")
    @ResponseBody
    public String login(String username, String password){
        return username + ":" + password;
    }
     */

    //接收数据的方式3:通过DTO类接收
    @RequestMapping("v1/users/login")
    @ResponseBody
    public String login(UserLoginDTO userLoginDTO){
        String username = userLoginDTO.getUsername();
        String password = userLoginDTO.getPassword();

        return username + ":" + password;
    }

    @RequestMapping("v1/users/register")
    @ResponseBody
    public String register(){
        return "注册成功";
    }
}

